硒 'webdriver' 未被识别 (python)

selenium 'webdriver' not being recognised (python)

我已经通过 python 使用 pip 安装了 selenium (I 运行):

pip install selenium

我正在使用 Python 3.9.0,但无法识别驱动程序参数。

我当前的代码。

import selenium
from selenium import webdriver
filepath = r"D:\msedgedriver.exe"
webdriver.Edge(filepath)
options=driver.EdgeOptions()

在此代码中。导入命令没有问题,但 driver 未被识别为有效语法。

有什么帮助吗?

根据 Enhancing automated testing in Microsoft Edge with new WebDriver capabilities, W3C protocol support, and automatic updates, now MicrosoftWebDriver is a Windows Feature on Demand (FoD) 中的文档,确保它始终自动更新,并启用一些获取 Microsoft WebDriver 的新方法。


步骤

  • 启用开发人员模式,这将安装适当版本的 WebDriver。

    Open Settings app > Go to Update & Security > For Developer and then select "Developer Mode".
    
  • 您还可以通过以下两种方式之一安装独立版本的 WebDriver:

  • 从开始搜索“管理可选功能”,然后select“添加功能”、“WebDriver”。

  • 在提升的命令提示符下通过 运行 以下命令通过 DISM 安装:

    DISM.exe /Online /Add-Capability /CapabilityName:Microsoft.WebDriver~~~~0.0.1.0
    

注意:通过DISM命令安装MicrosoftWebDriver时,默认情况下webdriver安装在以下子目录中目录:

  • 64位:

    C:\Windows\SysWOW64\MicrosoftWebDriver.exe
    
  • 32位:

    C:\Windows\System32\MicrosoftWebDriver.exe
    

用法

您可以使用以下代码块:

from selenium import webdriver

driver = webdriver.Edge(executable_path=r'C:\WebDrivers\MicrosoftWebDriver.exe')
driver.get("https://www.google.com/")

参考资料

您可以在以下位置找到一些相关的详细讨论:


tl;博士

根据Microsoft Edge Developer Guide

EdgeHTML 18 includes the following new and updated features shipped in the current release of the Microsoft Edge platform, as of the Windows 10 October 2018 Update (10/2018, Build 17763). For changes in specific Windows Insider Preview builds, see the Microsoft Edge Changelog and What's New in EdgeHTML.

您需要运行以下命令来安装 MS Edge Selenium 工具:

pip install msedge-selenium-tools selenium==3.141

然后使用下面的代码,它可以在我这边运行良好:

from msedge.selenium_tools import Edge, EdgeOptions

edge_options = EdgeOptions()
edge_options.use_chromium = True
edge_options.binary_location = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
driver = Edge(options = edge_options, executable_path = r"D:\msedgedriver.exe")
driver.get('https://microsoft.com')

请注意使用与Edge浏览器相同版本的Edge Webdriver,并将代码中的路径更改为您自己的。